package com.lqk.jdk.iterator;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;


/**
 * @author lqk
 * @date 2021/12/9 20:36
 *
 * 迭代器模式在JDK-ArrayList集合应用的源码分析
 *  3) 角色分析说明
 *  - 内部类Itr 充当具体实现迭代器Iterator 的类， 作为ArrayList 内部类
 *  - List 就是充当了聚合接口，含有一个iterator() 方法，返回一个迭代器对象
 *  - ArrayList 是实现聚合接口List 的子类，实现了iterator()
 *  - Iterator 接口系统提供
 *  - 迭代器模式解决了 不同集合(ArrayList ,LinkedList) 统一遍历问题
 */
public class IteratorTest {
    public static void main(String[] args) {
        List<String> a = new ArrayList<>();
        a.add("jack");//..
        Iterator<String> Itr = a.iterator();
        while (Itr.hasNext()) {
            System.out.println(Itr.next());
        }
    }
}
